package com.prd.dto;


import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;

/**
 * <p>
 * 要点记录数据表
 * </p>
 *
 * @author lizhaoyi
 * @since 2023-11-06
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class WorkPointRecordDTO implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键id
     */
    @ApiModelProperty("主键id")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long id;

    /**
     * 要点描述
     */
    @ApiModelProperty("要点描述")
    private String pointDescribe;

    /**
     * 文字描述
     */
    @ApiModelProperty("文字描述")
    private String text;

    /**
     * 录音记录
     */
    @ApiModelProperty("录音记录")
    private String sound;

    /**
     * 图片/文档
     */
    @ApiModelProperty("图片/文档")
    private String file;

    /**
     * 附件
     */
    @ApiModelProperty("附件")
    private String attachment;

    /**
     * 所属模块
     */
    @ApiModelProperty("所属模块")
    private String module;

    /**
     * 要点类型
     */
    @ApiModelProperty("要点类型:" +
            "0-工作单描述\n" +
            ";1-执行汇报\n" +
            ";2-补充执行汇报\n" +
            ";3-未达标/不合格原因\n" +
            ";4-执行完成评价\n" +
            ";5-预决算意见\n" +
            ";6-达标/合格\n" +
            ";7-预算执行误差报告\n" +
            ";8-办结回复\n" +
            ";9-工作绩效\n" +
            ";10-工作汇报\n" +
            ";11-异常及处理汇报\n" +
            ";12-次日工作计划\n" +
            ";13-本周工作总结\n" +
            ";14-本周异常及处理总结\n" +
            ";15-下周工作计划\n" +
            ";16-本月工作总结\n" +
            ";17-本月异常及处理总结\n" +
            ";18-下月工作计划")
    private Integer type;

    /**
     * 类型名称
     */
    @ApiModelProperty("类型名称")
    private String typeName;

    /**
     * 回复人
     */
    @ApiModelProperty("回复人")
    private String answerBy;

    /**
     * 回复人id
     */
    @ApiModelProperty("回复人id")
    private Long answerId;

    /**
     * 预完成时间
     */
    @ApiModelProperty("预完成时间")
    private Date preCompledTime;

    /**
     * 工作单id
     */
    @ApiModelProperty("工作单id")
    private Long workOrderId;

    /**
     * 工作联络单id
     */
    @ApiModelProperty("工作联络单id")
    private Long workContactFormId;

    /**
     * 工作报告id
     */
    @ApiModelProperty("工作报告id")
    private Long workReportId;

    /**
     * 创建时间
     */
    @ApiModelProperty("创建时间")
    private LocalDateTime createdTime;

    /**
     * 创建人
     */
    @ApiModelProperty("创建人")
    private String createdBy;

    /**
     * 创建人id
     */
    @ApiModelProperty("创建人id")
    private Long createdById;


}
